import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
/**
 * 1 data 里面的变量和vuex里面的 state.count不能重复 否则读取不出来
 * 2 
 * 
 * 
 */

const state={
     count:4,
     zs:`
            1 data 里面的变量和vuex里面的 state.count不能重复 否则读取不出来
             </br>
            2 $store.commit('jia',{a:10}) 传值以{}对象的形式传值
        `
}

const mutations={
    jia(state,n){
        state.count+=n.a
    },
    cd(state){
        state.count--
    }
}

const getters={
    count:function(state){
            return state.count+=100;
    }
}

const actions={
    jiaplus(context){
        context.commit('jia',{a:5})
        setTimeout(() => {
            console.log("我减了2")
            context.commit('cd')
        }, 3000);
        console.log("我减了1")
    },
    cdlus({commit}){
       commit('cd')
    },

}

export default new Vuex.Store({
    state,
    mutations,
    getters,
    actions
  })